fuzz: some improvements and add two new fuzzers #1881
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove
FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
define fromfuzz/Makefile.am
; it is already included by the main configure script (when fuzzing).Add a knob to force disabling of AESNI optimizations: this way we can fuzz also no-aesni crypto code.
Move CRC32 algorithm into the library.
Add some fake traces to extend fuzzing coverage. Note that these traces are hand-made (via scapy/curl) and must not be used as "proof" that the dissectors are really able to identify this kind of traffic.
Some small updates to some dissectors:
CSGO: remove a wrong rule (never triggered, BTW). Any UDP packet starting with "VS01" will be classified as STEAM (see steam.c around line 111). Googling it, it seems right so.
XBOX: XBOX only analyses UDP flows while HTTP only TCP ones; therefore that condition is false.
RTP, STUN: removed useless "break"s
Zattoo:
flow->zattoo_stage
is never set to any values greater or equal to 5, so these checks are never true.PPStream:
flow->l4.udp.ppstream_stage
is never read. Delete it.TeamSpeak: we check for
flow->packet_counter == 3
just above, so the following checkflow->packet_counter >= 3
is always false.